package com.yizhuoyan.his.service.admin;

import com.yizhuoyan.his.ao.ModifyUserAo;
import com.yizhuoyan.his.ao.UserAddAo;
import com.yizhuoyan.his.dto.QueryResult;
import com.yizhuoyan.his.entity.SysAccountEntity;

public interface SysAccountManageService {
    /**
     * 系统管理员新增用户
     *
     * @param ao 新增用户信息
     * @return
     * @throws Exception
     */
    SysAccountEntity addUser(UserAddAo ao) throws Exception;

    /**
     * 修改用户信息
     *
     * @param id ID主键
     * @param ao 修改信息
     * @throws Exception
     */
    void modifyUser(Long id, ModifyUserAo ao) throws Exception;

    /**
     * 删除用户
     *
     * @param id ID主键
     * @throws Exception
     */
    void removeUser(Long id) throws Exception;

    /**
     * 查询用户信息
     *
     * @param id ID主键
     * @return
     * @throws Exception
     */
    SysAccountEntity queryUser(Long id) throws Exception;

    QueryResult<SysAccountEntity> queryUserByKey(String key, int pageNo, int pageSize) throws Exception;

}
